package com.neusoft.liduan.d0912;

public class 引用数据类型转换 {

	public static void main(String[] args) {
		孙悟空 swk = new 孙悟空();
		swk.bianshen();
		swk.show();
		//孙悟空变成石头了
		石头 st = swk;//向上转型，子类对象变父类对象
		st.show();//打印什么，考方法重写
		//结果发现石头没有变身行为了
//		st.bianshen(); 
		//当子类对象当成父类对象使用时，该对象的方法就只能使用父类具有方法。
		//不可以再使用子类独有的方法
		孙悟空 swk2 = (孙悟空) st;//父类对象转子类对象，称为向下转型(强制转换)，父类对象st必须是由子类对象转成父类对象的
		
		//创建石头
		石头 shitou = new 石头();
		孙悟空 swk3 = (孙悟空) shitou;//违反天道，该天道指的是Java的规则。
		//纯粹的父类对象不可以转换成子类对象。因为子类有无数，父类就一个
		//多态的使用：主要体现方法传值，类与类之间传值，如下写法也是多态的使用
		石头 st2 = new 孙悟空();
		//课堂作业，请在作业的棋盘上画10个棋子
	}

}
